#ifndef FORMDATAPARSER_C_API_H
#define FORMDATAPARSER_C_API_H

#define NAME_LEN 128

#ifdef __cplusplus
extern "C" {
#endif


typedef struct FormNoda
{
    char* mName;
    int mNameLen;
    char* mContent;
    int mContentLen;
    int isFile;//是否为文件, 1表示为文件，0表示为非文件
    char* mFileName;
    int mFileNameLen;
    int mDataStart;
}FormNoda;


/*********************************************** 
*Description :  解析FormData，将FormData数据放到结构体数组中，数组中的一个元素表示FormData中的一个part
*Input		 :  data:原始的FormData
                boundary:FormData part 分隔符
*Output		 :  num:FormData中part的个数
*Return      :
*Author      : jixiang.zhang
*data        : 2023-08-15
***********************************************/
FormNoda* parser_form_data(char* data, int size, int* num);


 
/*********************************************** 
*Description : 释放FormNoda数组空间
*Input		 : formNodas：FormNoda数组
               num: 数组中元素个数
*Output		 :
*Return      :
*Author      : jixiang.zhang
*data        : 2023-08-15
***********************************************/
void free_form_data(FormNoda* formNodas, int num);

#ifdef __cplusplus
}
#endif

#endif